# output generic information about the core and buildtype chosen
message("")
message("* TrinityTBC revision:   ${rev_hash} ${rev_date} (${rev_branch} branch)")
if( UNIX )
  message("* TrinityTBC buildtype  : ${CMAKE_BUILD_TYPE}")
endif()
message("")

# output information about installation-directories and locations

message("* Install core to        : ${CMAKE_INSTALL_PREFIX}")
if( UNIX )
  message("* Install libraries to   : ${LIBSDIR}")
  message("* Install configs to     : ${CONF_DIR}")
endif()
message("")

# Show infomation about the options selected during configuration

if( SERVERS )
  message("* Build world/authserver : Yes (default)")
else()
  message("* Build world/authserver : No")
endif()

if(SCRIPTS AND (NOT SCRIPTS STREQUAL "none"))
  message("* Build with scripts     : Yes (${SCRIPTS})")
else()
  message("* Build with scripts     : No")
endif()

if( TOOLS )
  message("* Build map/vmap tools   : Yes (default)")
  add_definitions(-DNO_CORE_FUNCS)
else()
  message("* Build map/vmap tools   : No")
endif()

if( USE_COREPCH )
  message("* Build core w/PCH       : Yes (default)")
else()
  message("* Build core w/PCH       : No")
endif()

if( USE_SCRIPTPCH )
  message("* Build scripts w/PCH    : Yes (default)")
else()
  message("* Build scripts w/PCH    : No")
endif()

if( WITH_WARNINGS )
  message("* Show all warnings      : Yes")
else()
  message("* Show compile-warnings  : No  (default)")
endif()

if( WITH_COREDEBUG )
  message("")
  message(" *** WITH_COREDEBUG - WARNING!")
  message(" *** additional core debug logs have been enabled!")
  message(" *** this setting doesn't help to get better crash logs!")
  message(" *** in case you are searching for better crash logs use")
  message(" *** -DCMAKE_BUILD_TYPE=RelWithDebInfo")
  message(" *** DO NOT ENABLE IT UNLESS YOU KNOW WHAT YOU'RE DOING!")
  message("* Use coreside debug     : Yes")
  add_definitions(-DTRINITY_DEBUG)
else()
  message("* Use coreside debug     : No  (default)")
endif()

if( NOT WITH_SOURCE_TREE STREQUAL "no" )
  message("* Show source tree       : Yes (${WITH_SOURCE_TREE})")
else()
  message("* Show source tree       : No")
endif()

if ( WITHOUT_GIT )
  message("* Use GIT revision hash  : No")
  message("")
  message(" *** WITHOUT_GIT - WARNING!")
  message(" *** By choosing the WITHOUT_GIT option you have waived all rights for support,")
  message(" *** and accept that or all requests for support or assistance sent to the core")
  message(" *** developers will be rejected. This due to that we will be unable to detect")
  message(" *** what revision of the codebase you are using in a proper way.")
  message(" *** We remind you that you need to use the repository codebase and a supported")
  message(" *** version of git for the revision-hash to work, and be allowede to ask for")
  message(" *** support if needed.")
else()
  message("* Use GIT revision hash  : Yes (default)")
endif()

if ( ASAN )
  message("")
  message(" *** ASAN - WARNING!")
  message(" *** Please note that this is for DEBUGGING WITH ADDRESS SANITIZER only!")
  add_definitions(-DASAN)
endif()

if( WITH_STRICT_DATABASE_TYPE_CHECKS )
  message("")
  message(" *** WITH_STRICT_DATABASE_TYPE_CHECKS - WARNING!")
  message(" *** Validates uses of database Get***() functions from Field class")
  message(" *** invalid calls will result in returning value 0")
  message(" *** NOT COMPATIBLE WITH MARIADB!")
  add_definitions(-DTRINITY_STRICT_DATABASE_TYPE_CHECKS)
endif()

if(PLAYERBOT)
    message("* Playerbot:                    Yes")
else()
    message("* Playerbot:                    No ")
endif()

if(TESTS)
    message("* Tests:                        Yes")
else()
    message("* Tests:                        No ")
endif()

if(USE_GPERFTOOLS)
    message("* Use gperftools:               Yes")
else()
    message("* Use gperftools:               No ")
endif()

if (BUILD_SHARED_LIBS)
  message("")
  message(" *** WITH_DYNAMIC_LINKING - INFO!")
  message(" *** Will link against shared libraries!")
  message(" *** Please note that this is an experimental feature!")
  if (WITH_DYNAMIC_LINKING_FORCED)
    message("")
    message(" *** Dynamic linking was enforced through a dynamic script module!")
    message("")
  endif()
  add_definitions(-DTRINITY_API_USE_DYNAMIC_LINKING)
  
  WarnAboutSpacesInBuildPath()
endif()
